package com.ma.gestureDetectors;

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.scenes.scene2d.Actor;
import com.badlogic.gdx.scenes.scene2d.InputEvent;
import com.badlogic.gdx.scenes.scene2d.utils.ActorGestureListener;
import com.badlogic.gdx.utils.TimeUtils;
import com.ma.logica.Assets;
import com.ma.logica.Sonido;
import com.ma.table.LogicaScreenOne;
import com.ma.table.actors.Asteroide;

public class AsteroideGestureDetector extends ActorGestureListener{

	LogicaScreenOne logSO;
	
    public AsteroideGestureDetector(LogicaScreenOne logSO) {
        super(20, 10.0f, 1.0f, 0.15f);
        this.logSO = logSO;
   }

    @Override
    public void tap (InputEvent event, float x, float y, int count, int button) {   	  	
    	Asteroide ast = (Asteroide)event.getTarget();
    	
    	if(ast.getHits()>0){
    		if(ast.getHits()-1==0){
    			ast.destruido();
//    			ast.setTimeExplosion(TimeUtils.millis());
//    			Gdx.input.vibrate(70);
//    			Sonido.explosionPlay();
    		}
    		ast.setHits(ast.getHits()-1);
    	}
	}
    
   @Override
   public void fling (InputEvent event, float velocityX, float velocityY, int button) {
//      System.out.println("swipe");
//      MoveToAction move = new MoveToAction();
//      
//      if(velocityX<0&&velocityY<0){ //movimiento abajo izq
//    	  System.out.println("abajo izq");
//      }else if(velocityX<0&&velocityY>0){ //movimiento arriba izq
//    	  System.out.println("arriba izq");
//      }else if(velocityX>0&&velocityY<0){ //movimiento abajo drch
//    	  System.out.println("abajo derecha");
//      }else if(velocityX>0&&velocityY>0){ //movimiento arriba drch
//    	  System.out.println("arriba derecha");
//      }
//      move.setPosition(velocityX, velocityY);
//      move.setDuration(5f);
//      event.getTarget().addAction(move);
   }
   
   @Override
	public void pan (InputEvent event, float x, float y, float deltaX, float deltaY) {
//	   float miX = event.getTarget().getX()+deltaX;
//	   float miY = event.getTarget().getY()+deltaY;
//	   event.getTarget().setX(miX);
//	   event.getTarget().setY(miY);
//	   logicaScreenOne.getRecP().setPosition(miX, miY);
	   
	}
   
	public boolean longPress (Actor actor, float x, float y) {
		
//		actor.setHeight(120*Gdx.graphics.getDensity());
//		actor.setWidth(120*Gdx.graphics.getDensity());
		return true;
	}
	
//	public void asteroideDestruido(int index, Asteroide asteroide) {
//		
//		// Comprobar si hay que crear una nueva moneda
//		if (TimeUtils.millis() - asteroide.getTimeExplosion() > asteroide.getDuracionExplosion()) {
//	    	logSO.asteroides.removeIndex(index);
//	    	asteroide.remove();
//	
//	    	logSO.asteroidesDestruidosMarcador++;
//	    	logSO.asteroidesDestruidos++;
//	    	
//			Sound dead = Assets.instance.sounds.pingu;
//			dead.play();
//		}else{
//
//		}
//		// dead.setOnCompletionListener(new OnCompletionListener() {
//		// @Override
//		// public void onCompletion(Music music) {
//		// music.dispose();
//		// }
//		// });
//	}
}
